The NORAD mean element sets can be used for prediction with SGP8. All symbols
not defined below are defined in the list of symbols in Section Twelve. The
original mean motion (n''o) and semimajor axis (a''o) are first
recovered from the input elements by the equations
#math194#
a1 = #tex2html_wrap_indisplay4159##tex2html_wrap_indisplay4160##tex2html_wrap_indisplay4161#
#math195#
δ1 = #tex2html_wrap_indisplay4163##tex2html_wrap_indisplay4164##tex2html_wrap_indisplay4165#
#math196#
ao = a1#tex2html_wrap_indisplay4167#1 - #tex2html_wrap_indisplay4168#δ1 - δ12 - #tex2html_wrap_indisplay4171#δ13#tex2html_wrap_indisplay4174#
#math197#
δo = #tex2html_wrap_indisplay4176##tex2html_wrap_indisplay4177##tex2html_wrap_indisplay4178#
#math198#
n''o = #tex2html_wrap_indisplay4180#
#math199#
a''o = #tex2html_wrap_indisplay4182#.
The ballistic coefficient (B term) is then calculated from the B* drag
term by
#math200#
B = 2B*/ρo
where
#math201#
ρo = (2.461×10-5)#tex2html_wrap_indisplay4187#
is a reference value of atmospheric density.
Then calculate the constants
#math202#
β2 = 1 - e2
#math203#
θ = cos i
#math204#
#tex2html_wrap_indisplay4191# = - #tex2html_wrap_indisplay4192##tex2html_wrap_indisplay4193#(1 - 3θ2)
#math205#
#tex2html_wrap_indisplay4195# = - #tex2html_wrap_indisplay4196##tex2html_wrap_indisplay4197#(1 - 5θ2)
#math206#
#tex2html_wrap_indisplay4199# = - 3#tex2html_wrap_indisplay4200#θ
#math207#
#tex2html_wrap_indisplay4202# = #tex2html_wrap_indisplay4203##tex2html_wrap_indisplay4204#(13 - 78θ2 +137θ4)
#math208#
#tex2html_wrap_indisplay4206# = #tex2html_wrap_indisplay4207##tex2html_wrap_indisplay4208#(7 - 114θ2 +395θ4) + #tex2html_wrap_indisplay4209##tex2html_wrap_indisplay4210#(3 - 36θ2 +49θ4)
#math209#
#tex2html_wrap_indisplay4212# = #tex2html_wrap_indisplay4213##tex2html_wrap_indisplay4214#θ(4 - 19θ2) + #tex2html_wrap_indisplay4215##tex2html_wrap_indisplay4216#θ(3 - 7θ2)
#math210#
#tex2html_wrap_indisplay4218# = n'' + #tex2html_wrap_indisplay4219# + #tex2html_wrap_indisplay4220#
#math211#
#tex2html_wrap_indisplay4222# = #tex2html_wrap_indisplay4223# + #tex2html_wrap_indisplay4224#
#math212#
#tex2html_wrap_indisplay4226# = #tex2html_wrap_indisplay4227# + #tex2html_wrap_indisplay4228#
#math213#
ξ = #tex2html_wrap_indisplay4230#
#math214#
η = esξ
#math215#
ψ = #tex2html_wrap_indisplay4233#
#math216#
α2 = 1 + e2
#math217#
Co = #tex2html_wrap_indisplay4236#Bρo(qo - s)4n''a''ξ4α-1ψ-7
#math218#
C1 = #tex2html_wrap_indisplay4238#n''α4Co
#math219#
D1 = ξψ-2/a''β2
#math220#
D2 = 12 + 36η2 + #tex2html_wrap_indisplay4241#η4
#math221#
D3 = 15η2 + #tex2html_wrap_indisplay4243#η4
#math222#
D4 = 5η + #tex2html_wrap_indisplay4245#η3
#math223#
D5 = ξψ-2
#math224#
B1 = - k2(1 - 3θ2)
#math225#
B2 = - k2(1 - θ2)
#math226#
B3 = #tex2html_wrap_indisplay4250#sin i
#math227#
C2 = D1D3B2
#math228#
C3 = D4D5B3
#math229#
#tex2html_wrap_indisplay4254# = C1#tex2html_wrap_indisplay4255#2 + 3η2 +20eη +5eη3 + #tex2html_wrap_indisplay4256#e2 +34e2η2 + D1D2B1 + C2cos 2ω + C3sinω#tex2html_wrap_indisplay4257#
#math230#
C4 = D1D7B2
#math231#
C5 = D5D8B3
#math232#
D6 = 30η + #tex2html_wrap_indisplay4261#η3
#math233#
D7 = 5η + #tex2html_wrap_indisplay4263#η3
#math234#
D8 = 1 + #tex2html_wrap_indisplay4265#η2 + η4
#math235#
#tex2html_wrap_indisplay4267# = - Co#tex2html_wrap_indisplay4268#4η + η3 +5e + 15eη2 + #tex2html_wrap_indisplay4269#e2η +7e2η3 + D1D6B1 + C4cos 2ω + C5sinω#tex2html_wrap_indisplay4270#
#math236#
#tex2html_wrap_indisplay4272#/α = e#tex2html_wrap_indisplay4273#α-2
#math237#
C6 = #tex2html_wrap_indisplay4275##tex2html_wrap_indisplay4276#
#math238#
#tex2html_wrap_indisplay4278#/ξ = 2a''ξ(C6β2 + e#tex2html_wrap_indisplay4279#)
#math239#
#tex2html_wrap_indisplay4281# = (#tex2html_wrap_indisplay4282# + e#tex2html_wrap_indisplay4283#/ξ)sξ
#math240#
#tex2html_wrap_indisplay4285#/ψ = - η#tex2html_wrap_indisplay4286#ψ-2
#math241#
#tex2html_wrap_indisplay4288#/Co = C6 +4#tex2html_wrap_indisplay4289#/ξ - #tex2html_wrap_indisplay4290#/α -7#tex2html_wrap_indisplay4291#/ψ
#math242#
#tex2html_wrap_indisplay4293#/C1 = #tex2html_wrap_indisplay4294#/n'' + 4#tex2html_wrap_indisplay4295#/α + #tex2html_wrap_indisplay4296#/Co
#math243#
D9 = 6η +20e + 15eη2 +68e2η
#math244#
D10 = 20η +5η3 +17e + 68eη2
#math245#
D11 = 72η +18η3
#math246#
D12 = 30η +10η3
#math247#
D13 = 5 + #tex2html_wrap_indisplay4302#η2
#math248#
D14 = #tex2html_wrap_indisplay4304#/ξ -2#tex2html_wrap_indisplay4305#/ψ
#math249#
D15 = 2(C6 + e#tex2html_wrap_indisplay4307#β-2)
#math250#
#tex2html_wrap_indisplay4309# = D1(D14 + D15)
#math251#
#tex2html_wrap_indisplay4311# = #tex2html_wrap_indisplay4312#D11
#math252#
#tex2html_wrap_indisplay4314# = #tex2html_wrap_indisplay4315#D12
#math253#
#tex2html_wrap_indisplay4317# = #tex2html_wrap_indisplay4318#D13
#math254#
#tex2html_wrap_indisplay4320# = D5D14
#math255#
#tex2html_wrap_indisplay4322# = B2(#tex2html_wrap_indisplay4323#D3 + D1#tex2html_wrap_indisplay4324#)
#math256#
#tex2html_wrap_indisplay4326# = B3(#tex2html_wrap_indisplay4327#D4 + D5#tex2html_wrap_indisplay4328#)
#math257#
#tex2html_wrap_indisplay4330# = - #tex2html_wrap_indisplay4331##tex2html_wrap_indisplay4332#(1 - 5θ2)
#math258#
D16 = D9#tex2html_wrap_indisplay4334# + D10#tex2html_wrap_indisplay4335# + B1(#tex2html_wrap_indisplay4336#D2 + D1#tex2html_wrap_indisplay4337#) + #tex2html_wrap_indisplay4338#cos 2ω + #tex2html_wrap_indisplay4339#sinω + #tex2html_wrap_indisplay4340#(C3cosω -2C2sin 2ω)
#math259#
#tex2html_wrap_indisplay4342# = #tex2html_wrap_indisplay4343##tex2html_wrap_indisplay4344#/C1 + C1D16
#math260#
#tex2html_wrap_indisplay4346# = #tex2html_wrap_indisplay4347#
#math261#
D17 = #tex2html_wrap_indisplay4349#/n'' - (#tex2html_wrap_indisplay4350#/n'')2
#math262#
#tex2html_wrap_indisplay4352#/ξ = 2(#tex2html_wrap_indisplay4353#/ξ - C6)#tex2html_wrap_indisplay4354#/ξ +2a''ξ#tex2html_wrap_indisplay4355##tex2html_wrap_indisplay4356#D17β2 -2C6e#tex2html_wrap_indisplay4357# + #tex2html_wrap_indisplay4358# + e#tex2html_wrap_indisplay4359##tex2html_wrap_indisplay4360#
#math263#
#tex2html_wrap_indisplay4362# = (#tex2html_wrap_indisplay4363# +2#tex2html_wrap_indisplay4364##tex2html_wrap_indisplay4365#/ξ)sξ + η#tex2html_wrap_indisplay4366#/ξ
#math264#
D18 = #tex2html_wrap_indisplay4368#/ξ - (#tex2html_wrap_indisplay4369#/ξ)2
#math265#
D19 = - (#tex2html_wrap_indisplay4371#/ψ)2(1 + η-2) - η#tex2html_wrap_indisplay4372#ψ-2
#math266#
#tex2html_wrap_indisplay4374# = #tex2html_wrap_indisplay4375#(D14 + D15) + D1#tex2html_wrap_indisplay4376#D18 -2D19 + #tex2html_wrap_indisplay4377#D17 +2α2#tex2html_wrap_indisplay4378#β-4 +2e#tex2html_wrap_indisplay4379#β-2#tex2html_wrap_indisplay4380#
#math267#
#tex2html_wrap_indisplay4382#o = #tex2html_wrap_indisplay4383#
#math268#
p = #tex2html_wrap_indisplay4385#
#math269#
γ = - #tex2html_wrap_indisplay4387##tex2html_wrap_indisplay4388#
#math270#
nD = #tex2html_wrap_indisplay4390#
#math271#
q = 1 - #tex2html_wrap_indisplay4392#
#math272#
eD = #tex2html_wrap_indisplay4394#
where all quantities are epoch values.
The secular effects of atmospheric drag and gravitation are included by
#math273#
n = n''o + nD[1 - (1 - γ(t - to))p]
#math274#
e = eo + eD[1 - (1 - γ(t - to))q]
#math275#
ω = ωo + #tex2html_wrap_indisplay4398##tex2html_wrap_indisplay4399#(t - to) + #tex2html_wrap_indisplay4400##tex2html_wrap_indisplay4401#Z1#tex2html_wrap_indisplay4402# + #tex2html_wrap_indisplay4403#(t - to)
#math276#
Ω = Ωo'' + #tex2html_wrap_indisplay4405##tex2html_wrap_indisplay4406#(t - to) + #tex2html_wrap_indisplay4407##tex2html_wrap_indisplay4408#Z1#tex2html_wrap_indisplay4409# + #tex2html_wrap_indisplay4410#(t - to)
#math277#
M = Mo + n''o(t - to) + Z1 + #tex2html_wrap_indisplay4412##tex2html_wrap_indisplay4413#(t - to) + #tex2html_wrap_indisplay4414##tex2html_wrap_indisplay4415#Z1#tex2html_wrap_indisplay4416# + #tex2html_wrap_indisplay4417#(t - to)
where
#math278#
Z1 = #tex2html_wrap_indisplay4419##tex2html_wrap_indisplay4420#(t - to) + #tex2html_wrap_indisplay4421#[(1 - γ(t - to))p+1 - 1]#tex2html_wrap_indisplay4422#.
If drag is very small (#math279##tex2html_wrap_inline4424# less than #math280#1.5×10-6/min) then the
secular equations for n, e, and Z1 should be replaced by
#math281#
n = n''o + #tex2html_wrap_indisplay4430#(t - to)
#math282#
e = e''o + #tex2html_wrap_indisplay4432#(t - to)
#math283#
Z1 = #tex2html_wrap_indisplay4434##tex2html_wrap_indisplay4435#(t - to)2
where (t - to) is time since epoch and where
#math284#
#tex2html_wrap_indisplay4438# = - #tex2html_wrap_indisplay4439##tex2html_wrap_indisplay4440#(1 - eo).
Solve Kepler's equation for E by using the iteration equation
#math285#
Ei+1 = Ei + ΔEi
with
#math286#
ΔEi = #tex2html_wrap_indisplay4444#
and
#math287#
E1 = M + e sin M + #tex2html_wrap_indisplay4446#e2sin 2M.
The following equations are used to calculate preliminary quantities needed for
the short-period periodics.
#math288#
a = #tex2html_wrap_indisplay4448##tex2html_wrap_indisplay4449##tex2html_wrap_indisplay4450#
#math289#
β = (1 - e2)#tex2html_wrap_indisplay4452#
#math290#
sin f = #tex2html_wrap_indisplay4454#
#math291#
cos f = #tex2html_wrap_indisplay4456#
#math292#
u = f + ω
#math293#
r'' = #tex2html_wrap_indisplay4459#
#math294#
#tex2html_wrap_indisplay4461# = #tex2html_wrap_indisplay4462#sin f
#math295#
(r#tex2html_wrap_indisplay4464#)'' = #tex2html_wrap_indisplay4465#
#math296#
δr = #tex2html_wrap_indisplay4467##tex2html_wrap_indisplay4468#[(1 - θ2)cos 2u + 3(1 - 3θ2)] - #tex2html_wrap_indisplay4469##tex2html_wrap_indisplay4470#sin iosin u
#math297#
δ#tex2html_wrap_indisplay4472# = - n#tex2html_wrap_indisplay4473##tex2html_wrap_indisplay4474##tex2html_wrap_indisplay4475##tex2html_wrap_indisplay4476##tex2html_wrap_indisplay4477#(1 - θ2)sin 2u + #tex2html_wrap_indisplay4478##tex2html_wrap_indisplay4479#sin iocos u#tex2html_wrap_indisplay4480#
#math298#
δI = θ#tex2html_wrap_indisplay4482##tex2html_wrap_indisplay4483##tex2html_wrap_indisplay4484#sin iocos 2u - #tex2html_wrap_indisplay4485##tex2html_wrap_indisplay4486#e sinω#tex2html_wrap_indisplay4487#
#math299#
δ(r#tex2html_wrap_indisplay4489#) = - n#tex2html_wrap_indisplay4490##tex2html_wrap_indisplay4491##tex2html_wrap_indisplay4492#δr + na#tex2html_wrap_indisplay4493##tex2html_wrap_indisplay4494##tex2html_wrap_indisplay4495##tex2html_wrap_indisplay4496#δI
#math300#
δu = #tex2html_wrap_indisplay4498#
#math301#
δλ = #tex2html_wrap_indisplay4500#
The short-period periodics are added to give the osculating quantities
#math302#
r = r'' + δr
#math303#
#tex2html_wrap_indisplay4503# = #tex2html_wrap_indisplay4504# + δ#tex2html_wrap_indisplay4505#
#math304#
r#tex2html_wrap_indisplay4507# = (r#tex2html_wrap_indisplay4508#)'' + δ(r#tex2html_wrap_indisplay4509#)
#math305#
y4 = sin#tex2html_wrap_indisplay4511#sin u + cos u sin#tex2html_wrap_indisplay4512#δu + #tex2html_wrap_indisplay4513#sin u cos#tex2html_wrap_indisplay4514#δI
#math306#
y5 = sin#tex2html_wrap_indisplay4516#cos u - sin u sin#tex2html_wrap_indisplay4517#δu + #tex2html_wrap_indisplay4518#cos u cos#tex2html_wrap_indisplay4519#δI
#math307#
λ = u + Ω + δλ.
Unit orientation vectors are calculated by
#math308#
Ux = 2y4(y5sinλ - y4cosλ) + cosλ
#math309#
Uy = - 2y4(y5cosλ + y4sinλ) + sinλ
#math310#
Uz = 2y4cos#tex2html_wrap_indisplay4524#
#math311#
Vx = 2y5(y5sinλ - y4cosλ) - sinλ
#math312#
Vy = - 2y5(y5cosλ + y4sinλ) + cosλ
#math313#
Vz = 2y5cos#tex2html_wrap_indisplay4528#
where
#math314#
cos#tex2html_wrap_indisplay4530# = #tex2html_wrap_indisplay4531#.
Position and velocity are given by
#math315#
#tex2html_wrap_indisplay4533# = r#tex2html_wrap_indisplay4534#
#math316#
#tex2html_wrap_indisplay4536# = #tex2html_wrap_indisplay4537##tex2html_wrap_indisplay4538# + r#tex2html_wrap_indisplay4539##tex2html_wrap_indisplay4540#.
A FORTRAN IV computer code listing of the subroutine SGP8 is given below.
#center4541#